﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Data;
using QLTuyenXe.DAL;
using QLTuyenXe.DAO;

namespace QLTuyenXe.BLL
{
    class BChucVu
    {
        MyConnectUnit myConnU = new MyConnectUnit();
        //Đọc dữ liệu từ bảng chức vụ
        public ArrayList Select(String columns, String condition, String order)
        {
            ArrayList chucVus = new ArrayList();
            DataTable tb = new DataTable();
            tb = myConnU.Select("tbChuVu", columns, condition, order);
            if (tb != null)
            {
                foreach (DataRow r in tb.Rows)
                {
                    CHUCVU c = new CHUCVU();
                    c.Id = int.Parse(r["id"].ToString());
                    c.Chucvu = r["chuvu"].ToString();
                    chucVus.Add(c);
                }
            }
            return chucVus;
        }
        //Đọc dữ liệu từ bảng chức vụ trong CSDL
        public ArrayList Select(String columns, String condition)
        {
            return this.Select(columns, condition, null);
        }

        public ArrayList Select(String columns)
        {
            return this.Select(columns, null);
        }

        public ArrayList Select()
        {
            return this.Select("*");
        }
        //Thêm 1 chức vụ mới
        public int Insert(CHUCVU chucVu)
        {
            ColumnData id = new ColumnData("id", 2, chucVu.Id.ToString());
            ColumnData chucvu = new ColumnData("chuvu", 1, chucVu.Chucvu.ToString());
            ArrayList cv = new ArrayList();
            cv.Add(id);
            cv.Add(chucvu);
            return myConnU.Insert("tbChuVu", cv);
        }
        //Them vao 1 danh sach
        public int Insert(ArrayList chuVus)
        {
            int count = 0;
            foreach (CHUCVU cv in chuVus)
            {
                count += this.Insert(cv);
            }
            return count;
        }
        //Cap nhat thong tin cho 1 chu vu
        public int Update(CHUCVU chuVu, String condition)
        {
            ColumnData chuvu = new ColumnData("chuvu", 1, chuVu.Chucvu.ToString());
            ArrayList cV = new ArrayList();
            cV.Add(chuvu);
            return myConnU.Update("tbChuVu", cV, condition);
        }
        //Cap nhat 1 danh sach
        public int Update(ArrayList chuVus, String condition)
        {
            int count = 0;
            foreach (CHUCVU Cv in chuVus)
            {
                count += this.Update(Cv, condition);
            }
            return count;
        }
        //Xoa chuc vu theo dieu kien
        public int Delete(String condition)
        {
            return myConnU.Delete("tbChuVu", condition);
        }
        //Lay ma lon nhat
        public int GetMaxId()
        {
            return myConnU.GetMaxId("tbChuVu", "id");
        }
    }
}
